package com.huluobo.jetpackkotlindemo.databinding

import android.graphics.Color
import android.widget.ImageView
import androidx.databinding.BindingAdapter
import com.bumptech.glide.Glide

/**
 * Created by lc on 2022/12/12.
 * 自定义BindingAdapter,可以通过注解实现在xml中自定义的属性,比如添加网络请求图片
 * 3种形式,可以通过object ItemBind 实现,也可以通过伴生函数实现,同时也可以在bean中实现(参考专高5MVVM购物车代码)
 */
//class ItemBind {
//    companion object {
//        @BindingAdapter(value = ["android:imageUrl"])
//        @JvmStatic
//        fun setUserPhoto(view: ImageView, imageUrl: String?) {
//            if (imageUrl != null) {
//                Glide.with(view).load(imageUrl).fitCenter().into(view)
//            }
//        }
//    }
//}
object ItemBind {
    @JvmStatic
    @BindingAdapter(value = ["android:imageUrl"])
    fun setUserPhoto(view: ImageView, imageUrl: String?) {
        if (imageUrl != null) {
            Glide.with(view).load(imageUrl).fitCenter().into(view)
        } else {
            view.setBackgroundColor(Color.GRAY)
        }
    }
}